System and method for optimisation of media objects

ABSTRACT

A system and method for optimization of media objects for delivery to one of a plurality of mobile communication devices of different types and rendering thereon. In particular, the media objects are optimized according to the mobile device&#39;s characteristics to ensure efficient delivery and optimal rendering thereon. For this purpose, an optimized output of the media object is determined at a first stage. At a subsequent stage, based on the mobile device type, the characteristics of the object to be delivered are then adjusted to conform to those of the predetermined optimized output, thus ensuring that the rendering of the optimized media object on the mobile device output is of high quality.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 12/001,121, filed on Dec. 10, 2007 now U.S. Pat.No. 8,103,259, which itself claims priority on U.S. ProvisionalApplication No. 60/869,213, filed on Dec. 8, 2006. All documents aboveare incorporated herein in their entirety by reference.

FIELD OF THE INVENTION

The present invention relates to a system and method for optimisation ofmedia objects. In particular generating optimised objects for efficientdelivery to a mobile communication device according to the device'scharacteristics.

BACKGROUND OF THE INVENTION

Most mobile devices have multimedia and wireless Internet capabilities,thus being capable of displaying high quality colour images, as well asrendering audio and video clips. As a result, they are used in a varietyof consumer applications, in which rich content messages comprising anobject such as an image, video or audio clip, are delivered to themobile device. For instance, mobile devices may be used by a consumer topurchase a video from a retailer's website, the video being subsequentlydelivered to the device. However, given the plurality of availabledevice types having different technical capabilities, some content maybe featured adequately on one type of device while it is not featured aswell on another. In order to ensure that the object is rendered withhigh quality on the mobile device, thus enhancing the consumer'sexperience, it is therefore desirable for the object to be optimised forthe specific device it is transmitted to.

The prior art discloses altering media objects, such as image, video, oraudio objects, based on known mobile device characteristics prior totransmission to the mobile device over a wireless connection. Typically,the object is modified (e.g. resized) in order to match the technicallimitations of the device, thus ensuring that once delivered, it can bereadily rendered on the mobile device without error, distortion, or thelike. In particular, a plurality of objects having differentcharacteristics is generated and the object, which is sent to thereceiving device is the one whose characteristics are the closest tothat of the device. However, none of the optimisation techniques knownin the art teach optimising a given object in order to match thetechnical limitations of the receiving device as well as to improve thelevel of quality of the featured object as perceived by the user of thedevice.

What is therefore needed, and an object of the present invention, is asystem that dynamically generates an object, which enhances the qualityof the experience of the mobile device's user as perceived by thelatter.

SUMMARY OF THE INVENTION

More specifically, in accordance with the present invention, there isprovided a method for preparing and delivering a media object of acategory of media object to a selected one of a plurality of mobiledevices, each of the mobile devices of a different mobile device typeand comprising an output. The method comprises at a first stage, foreach type of mobile device, determining an optimised output of thecategory of media object when the category of media object is renderedon the output of the type of device; at a subsequent stage, retrievingthe mobile device type of the selected mobile device; optimising themedia object based on the retrieved mobile device type and according tothe determined optimised output for the category of the media object;delivering the optimised media object to the selected mobile device; andrendering the optimised media object on the mobile device output.

In accordance with the present invention, there is also provided asystem for preparing and delivering a media object of one of a pluralityof categories of media objects to a selected one of a plurality ofmobile devices, each of the mobile devices of one of a plurality ofmobile device types and comprising an output for rendering at least oneof the category of media objects. The system comprises a plurality ofoptimised outputs for each of the categories of media objects, each ofthe optimised outputs associated with a respective mobile device type;an optimisation module, the module receiving the media object,retrieving the optimised output based on a mobile device type of theselected mobile device and the category of media object and optimisingthe media object based on the retrieved optimised output; and a wirelesscommunication link connecting the plurality of mobile devices to theoptimisation module for delivering the optimised media object to theselected mobile device.

Still in accordance with the present invention, there is also provided amethod for preparing and delivering a barcode image from a data set forsubsequent delivery to a receiving one of a plurality of different typesof mobile devices for scanning with a scanning one of a plurality ofdifferent types of barcode scanning devices, the mobile devices eachcomprising a display for displaying the barcode image and the scanningdevices each comprising a scanner for reading the image. The methodcomprises at a first stage, for each type of mobile device, determiningan optimised output of the barcode image when the barcode image isdisplayed on the display of the type of mobile device; at a subsequentstage, retrieving the mobile device type of the receiving mobile deviceand a configuration of the scanning one of the plurality of scanningdevices; optimising the barcode image based on the retrieved mobiledevice type and the scanning device configuration according to thedetermined optimised output of the barcode image; delivering theoptimised barcode image to the receiving mobile device; and displayingthe optimised barcode image on the display of the receiving device.

Other objects, advantages and features of the present invention willbecome more apparent upon reading of the following non-restrictivedescription of specific embodiments thereof, given by way of exampleonly with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the appended drawings:

FIG. 1 is a schematic diagram of a system for generating an optimisedmedia object for transmission to a mobile device and rendering on thedevice in accordance with an illustrative embodiment of the presentinvention;

FIG. 2 is a schematic diagram of the mobile device in accordance with anillustrative embodiment of the present invention;

FIG. 3 is a flowchart of the media object optimisation process inaccordance with an illustrative embodiment of the present invention;

FIG. 4 is a schematic diagram of a system for generating a media objectof the barcode image category for transmission to the mobile device anddisplay on the device's screen in accordance with an alternativeillustrative embodiment of the present invention; and

FIG. 5 is a schematic diagram of the scanning device components inaccordance with an alternative illustrative embodiment of the presentinvention.

DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The present invention is illustrated in further details by the followingnon-limiting examples.

Referring now to FIG. 1, and in accordance with an illustrativeembodiment of the present invention, a system for generating anoptimised object, generally referred to using the reference numeral 10,will now be described. The ground portion of the system 10 comprises afixed base or server 12 connected to a database 14, which reads andwrites data to storage according to instructions of the server 12. Themobile portion of the system 10 comprises a mobile device 16 comprisingan output such as a display 18 for displaying images, videos, and thelike delivered to the mobile device 16 and a speaker 20, for renderingaudio sequences. The mobile device 16 further comprises an antenna 22and a Radio Frequency (RF) link 24 via which it communicates with amobile network 26 and the server 12. The server 12 optimises a mediaobject 28 of a given category (e.g. image as illustrated in FIG. 1,coupon, ticket, audio or video sequence) to be transmitted to the mobiledevice 16. The server 12 is composed of a communication module 30 formanaging exchanges, an optimising function 32 for optimising the object28, and a message builder 34 for generating a message (not shown)containing the optimised object 28. Illustratively, the presentillustrative embodiment takes advantage of e-mail in order to transmitthe object message to the mobile device 16, which further comprises aMail Agent Interface (MAGI) 36 for filtering incoming e-mail messagesand extracting messages, which include the object 28.

Referring now to FIG. 2 in addition to FIG. 1, the display 18 of themobile device 16 includes a display panel, illustratively a LiquidCrystal Display (LCD) or the like, and image processing circuitry suchas a display driver 38 which is under control of a Central ProcessingUnit (CPU) 40 (or other controller). The mobile device 16 also typicallycomprises audio or speech processing circuitry such as an audio driver42, which is also under control of the CPU 40, for rendering the audiocomponent of an object as in 28. Typically a keypad 44 or similar userinterface is also provided. In order for the mobile device 16 to accessthe mobile network 26, an I/O interface 46 coupled to the antenna 22 isprovided. Memory such as ROM 48 and/or RAM 50 comprising the requisiteinstructions and data (not shown) for ensuring correct operation of themobile device 16 is also provided. Exemplary versions of such mobilecommunication devices include cellular phones and Personal DigitalAssistants (PDAs).

Referring now to FIG. 3 in addition to FIG. 1, the sequence 100 of theobject optimisation process will now be described. At step 102, a userof the mobile device 16 typically initiates a transaction by accessing aretailer's website (not shown) via the mobile network 26 and purchasingan object as in 28 from the website. For this purpose, the user selectsthe desired object 28 (using suitable interactive means) andsubsequently proceeds with payment using one of many conventionalmethods accepted at the retailer's website (e.g. credit card or existinguser account). As will be apparent to a person skilled in the art, theobject 28 illustratively belongs to one of a plurality of media objectcategories (e.g. image, audio, video, barcode image, coupon . . . ) aswell as any possible combinations of these categories. Once thetransaction is completed, the selected object 28 is typically deliveredto the mobile device 16 for rendering on the latter.

Taking advantage of the method of the present invention, once thetransaction is completed, the server 12 retrieves information related tothe mobile device 16 from the database 14 (step 104) in order to ensurethat the object 28 will be optimised at step 108 for the specific mobiledevice 16 (step 106) prior to delivery thereto via the mobile network 26(step 108). Once the optimised object 28 has been delivered to themobile device 16, it is rendered thereon at step 110 (i.e. outputted onthe display 18 and/or the speakers 20 depending on whether the categoryof the object 28). In order to ensure that the object 28 is perceived bythe user as having a high quality level, it is desirable not only tomake necessary adjustments to the object 28 (step 112) so as to matchthe device's technical limitations, but also to optimise attributes,which will affect the manner in which the user perceives the object 28,thus enhancing the quality of the user's experience (step 114). For thispurpose and as will be described in further detail herein below, theserver 12 illustratively initially determines an optimised output, whichis outputted by a given mobile device 16 when a media object 28 of agiven category and having certain attributes is rendered thereon (step116). When subsequently optimising the object 28, the attributes of theobject 28 intended for delivery are illustratively adjusted to match theattributes of the object, which resulted in the predetermined optimisedoutput (step 114). This ensures that the server 12 delivers an object28, which is perceived by the user as being of better quality (e.g.image or sound quality) than a non-optimised version of the same whenrendered on the specific mobile device 16 it has been delivered to.

Still referring to FIG. 3 in addition to FIG. 1, attributes related tothe type of the mobile device 16, which are stored in the database 14 atstep 104 for subsequent use by an optimisation algorithm invoked by theoptimising function 32 during the object optimisation processillustratively include display resolution (in pixels), display size (inmm), display technology and type (e.g. Liquid Crystal Display (LCD),Organic Electro Luminescence (OEL), Organic Light Emitting Diode (OLED),tactile . . . ), and speaker type, frequency response, and placement.Other attributes may include the operating system used to drive thedevice 16 (especially for PDAs), colours that can be displayed if any(i.e. monochrome or otherwise colour depth), sampling frequency, framerate, type of audio and visualization software, i.e. types of codecssupported (e.g. jpeg, gif, mpeg, mov, mp3, way . . . ), and types ofcommunication interfaces and protocols supported (e.g. WirelessApplication Protocol (WAP), HTML, Java Mobile Information Device

Profile (MIDP), Bluetooth . . . ).

It is apparent that most of these attributes constitute technicallimitations, which can be overcome by making necessary adjustments tothe object 28 prior to transmission to the mobile device 16 (step 112),thus maintaining and possibly enhancing the quality of the object dataand preventing distortions during transmission. For this purpose, theserver 12 retrieves this information from the database 14 in order toensure that the object 28 delivered matches these device limitations.For example, the server 12 may adjust the attributes of the object 28such that it delivers an object 28 having an acceptable format, whichconforms to one of the codec formats supported by the mobile device 16.Also, the object 28 could be adapted to match the size and resolution ofthe display 18 by for example resizing it so that it can fit the display18 of the mobile device 16 and be readily rendered thereon.

Still referring to FIG. 3 in addition to FIG. 1, besides matching thetechnical limitations of the mobile device 16, the optimisationalgorithm within the optimising function 32 illustratively adjusts aplurality of attributes of the media object 28, which affect the qualityof the object's output as perceived by the user when it is rendered onthe mobile device 16 (step 114). A number of optimisation algorithms,such as simple gradient descent and brut force method where everyparameter variation is tried sequentially, may be used. Other algorithmssuch as Newton, quasi-Newton, simulated-annealing, genetic, and antcolony may alternatively be used for cases where the number and type ofparameter variation has a complex influence on the metric to beoptimised. As will be apparent to a person skilled in the art, the user,which perceives the media object 28 is not limited to a human beingviewing and/or listening to the object 28 (e.g. a video object) but mayalso comprise machines, which sense the output rendered on the mobiledevice 16 for a variety of generic types of applications. In particular,for audio-based applications, the user may illustratively be amicrophone (not shown), which senses the sound outputted by the mobiledevice 16 for identification purposes or subsequent transmission, forexample. For image-based applications, the user may illustratively be acamera (not shown), which captures the image displayed on the mobiledevice display 18 for identification purposes for instance. In aspecific embodiment of image-based applications and as will be describedin further detail herein below, the user may be a scanning device, whichreads a barcode image displayed on the display 18 for subsequent use ina plurality of consumer applications such as retail coupon and ticketapplications. Moreover, it will be apparent to a person skilled in theart that the media object 28 could be optimised for a generic type ofuser (e.g. a human being) but also for a specific type of user (e.g. abarcode image optimised for accurate reading by a specific type ofscanning device).

A plurality of factors affect audio results, which is typically ofmoderate quality especially when audio objects are outputted on mobiledevices as in 16. Indeed, the technical limitations (e.g. devicechipset, speaker bandwidth) of the mobile device combined with otherfactors such as the shape of the device's housing, the number andpositioning (e.g. at the front or on the back of the mobile device 16)of the device's audio output (i.e. the speaker), and the type of audioobject delivered (e.g. speech, music, ring) to the mobile device 16 canlimit audio quality, which could thus benefit from optimisation.Similarly, image and video results are limited due to factors such asthe glare and tint of the device's screen. Depending on the consumerapplication the mobile device 16 is used in, it may however be desirableto output a media object 28 having the highest quality possible. Forthis purpose, the technical limitations of the mobile device 16 andattributes of the media object 28 may be adjusted to produce anoptimised output that meets standards of quality.

Quality evaluation techniques of media objects as in 28 are typicallybased on metrics, which can be measured objectively and automaticallyevaluated by a computer program in order to predict perceived quality.Typically, these methods are classified based on the original signal(generally not compressed), which is considered to be of high quality.No-reference quality assessment, in which the quality of an object as in28 is evaluated without using any reference, can also be performed. Themost traditional means of evaluating quality of media objects includecomputation of the Signal-to-Noise Ratio (SNR) (ratio of a signal powerto the noise power corrupting the signal and affecting the fidelity ofits representation) and/or Peak Signal-to-Noise Ratio (PSNR) (ratio ofthe maximum possible signal power to the power of corrupting noise)between the original and the compressed signal. More precise metrics,such as Czenakowski Distance (CZD) (estimates the quality by measuringdifferences between pixels) and Structural Similarity (SSIM) index(measuring of image quality based on an initial uncompressed ordistortion-free image as reference) for evaluating image or videoquality for example, may also be applied.

Still referring to FIG. 3 in addition to FIG. 1 and as mentioned hereinabove, the optimisation process implemented by the optimisationalgorithm illustratively comprises an initial stage, during which anoptimised output of a media object 28 of a given category rendered onthe mobile device 16 is determined. The optimisation process furthercomprises a subsequent stage, during which the media object 28 intendedfor delivery to the mobile device 16 is optimised by adjusting itsattributes, such that its output on the mobile device 16 conforms to thepredetermined optimised output, thus improving the quality.

In particular, in the initial stage, an optimised output of a mediaobject 28 of a given category is determined for example using asubjective quality assessment method. Indeed, since it is desired toenhance the quality of the user's experience, it might prove desirableto supplement objective quality measures with subjective assessment ofthe object's output quality, which would prove more accurate in thisapplication. Still, as will be apparent to a person skilled in the art,the optimised output may be determined through objective measurementsdescribed herein above solely (i.e. without having recourse tosubjective measurements). Subjective quality measurements, such as theMean Opinion Score (MOS) used by the International TelecommunicationUnion (ITU), assess the quality of video or audio sequences based onhuman opinion. The MOS provides a numerical indication of the perceivedquality of received media after compression (using codecs) and/ortransmission to a mobile device as in 16. The MOS is typically generatedby averaging the results of a set of standard, subjective tests where anumber of members of a test pool rate the quality of test sequences(video or audio) presented on a mobile device as in 16. The MOS is anarithmetic means of all individual scores and is typically expressed asa single number ranging from 1 (lowest perceived quality withobjectionable distortion) to 5 (highest perceived quality withimperceptible level of distortion).

Still referring to FIG. 3 in addition to FIG. 1, in order to determinethe optimised output for an object 28 of a given category, a pluralityof mobile devices 28 is illustratively tested using a method similar tothe MOS measurement. For this purpose, a plurality of test media objects28 of a given category having different attributes are delivered to aplurality of mobile device as in 16 representative of the types ofmobile devices available on the market. The objects are then rendered onthe mobile devices for assessment by at least one member of a pool ofindividuals (not shown), which perceive (i.e. listen and/or view) theobject 28 featured by the mobile device 16 during a test session. Forexample, a plurality of video sequences having different attributesaffect the individual's perception of the object's quality (e.gdifferent levels of contrast for the stream of images and differentlevels of sound quality for the audio component of the video sequence),is transmitted to and rendered on a plurality of types of mobile devices16 for perception by the test pool. The members of the test pool thenrate the quality of the object 28 featured on each type of mobile device16. For example, for each video sequence rendered on the device 16, theyassess how well it is featured on the display 18 and whether the qualityof sound is adequate.

According to the observations of the test pool, the object 28 having thehighest quality rating is identified as the one providing the optimisedoutput and attributes of this selected object 28 are stored in thedatabase 14 together with the type of mobile device for cross-reference.For example, the attributes (e.g. colours, contrast) of the videosequence, which was rated by the test pool as having the highest qualityare stored in the database 14 for subsequent use by the optimisationalgorithm invoked by the optimisation function 32 when optimising anobject 28 of the video category for delivery to the mobile device 16.

Still, the optimised output may also be determined objectively through asimilar experimental analysis without having recourse to subjectivemeasurements. In the latter case, the quality of output rendered by amedia object 28 of a given type on each type of mobile device 16 wouldbe assessed using the objective metrics described herein above (e.g. SNRor PSNR). The analysis would also comprise a further selection componentin order to identify the media object 28, which results in an optimisedoutput. Whenever a new technology or a new mobile device enters themarket, a new analysis can illustratively be carried out and the resultsincorporated in the database 14.

Still referring to FIG. 3 in addition to FIG. 1, the optimisationfunction 32 of the server 12 subsequently retrieves the type of themobile device 16 from the database 14, from which an object 28 of agiven type can be optimised for delivery. The optimisation is done byadjusting the object's attributes in such a manner that they conform tothe attributes of the predetermined optimised output for the givenobject type, as stored in the database 14. As a result, once deliveredto the mobile device 16, the optimised object 28 will provide anoptimised output when rendered on the mobile device 16. The user of themobile device 16 therefore perceives the rendered object 28 as havinghigh quality, thus enhancing the overall experience. For example, if theuser purchased a video from a retailer's website, the video will beoptimised by adjusting its attributes (e.g. contrast, sound quality) toconform to those of the object 28 of the video category, which resultedin an optimised output, as determined during the testing phase describedherein above.

In particular and still referring to FIG. 3 in addition to FIG. 1, theattributes adjusted by the optimisation algorithm of the optimisingfunction 32 vary according to the object category. For example, forobjects 28 of the image category, these attributes may comprise at leastone of the image's orientation, the colours and shades of the image, orthe contrast between colours of the image. An animated version (e.g.moves, rotates) of the image could also be transmitted to the mobiledevice 16 instead of a still image, if the device 16 has sufficientcapabilities to support such an object. For objects 28 of the audiocategory, the attributes may comprise of the speaker's frequencyresponse, the signal amplitude, frequency envelope, or sound clipduration. In the latter case, the optimisation may be achieved byimplementing volume normalization, in which the signal amplitude isincreased. Bandwidth compression (also referred to as equalization), inwhich the frequency envelope of the signal could be changed byincreasing or decreasing the sound volume of selected frequencies, couldalso be implemented. Also, given the memory capacity of the mobiledevice 16, the duration of an audio object 28 delivered thereto could beadapted, such that a shorter or longer audio component is transmitted.In this case, a user of a mobile device 16 having high performancecharacteristics will receive an object 28 having the highest content(longer audio component) while a user of a mobile device 16 having lowerperformance will receive an object 28 having content adapted for hisdevice (shorter audio component), thus allowing for all users to have anenjoyable experience, regardless of their device type.

As will be apparent to a person skilled in the art, the presentinvention has the advantage of allowing for dynamic optimisation of theobject 28 in the sense that once object as in 28 of a given category isoptimised by the server 12 and delivered to the mobile device 16, uponsubsequent optimisation of another object of the same category (e.g. inresponse to the user purchasing another object), the server 12 simplyuses the previously optimised object 28 as a basis from which a newobject 28 is optimised.

Referring now to FIGS. 4 and 5, in an alternative illustrativeembodiment of the present invention, the object 28 transmitted to themobile device 16 is a barcode image intended to be displayed on thedisplay 18 and read by a scanner 52 comprising a scanning head 54. Aswill be apparent to a person skilled in the art, a variety of consumerapplications such as retail coupon and ticket applications may be basedon barcodes. Holding the display 18 opposite the scanning head 54 (forexample a laser or video camera or the like) allows the displayedbarcode 28 to be captured by the scanner 52 and subsequently transmittedto a barcode application 56 once decoded. The scanning head 54 typicallycomprises a light source 58 such as a laser and a detector 60 forsensing light emitted by the light source 58 and reflected by thebarcode 28 displayed on the display 18 of the mobile device 16.Additionally, the barcode reader 52 typically includes a decoder 62 forprocessing the gathered barcode information for a given application (forexample, retail application using a specific type of scanner 52).

Still referring to FIGS. 4 and 5, in order to improve the quality of thedisplayed barcode 28 such that when presented to the scanner 52 it isproperly scanned during the scanning process, it is desired for thebarcode 28 to have attributes which satisfy standards for accuratereadability of the barcode. Such attributes include the minimum barwidth, which refers to the width of the narrowest barcode element (baror space). The larger the width of the elements, the more space it takesto print (or display) the barcode and therefore, the lower the bar codedensity. Lower density barcodes are more consistently read than higherdensity barcodes, as minor variations (due to printing or damage) have agreater negative impact on high density bar codes, where the width ofthe elements is smaller. Another important attribute of barcodes istheir physical length, which determines how long scan lines must be andhow accurately they must be oriented with respect to the barcode. Thebarcode height (dimension parallel to the bars) determines the angularaccuracy required in orienting the scan line relative to the barcode,with a large range of angles (e.g. from −30 degrees to 30 degrees)minimizing the risk of reading failure. Contrast, which is a measure ofthe reflectance of the bars and spaces, is another important factor thatcan affect the readability of the barcode symbol. Although theattributes defined herein above refer mostly to 1D barcodes (bars andspaces), it should be noted that they can be extended to 2D barcodes aswell, although it should be noted that in 2D barcodes it is otherparameters such as the size or presence of a cell and not the width ofthe bar which is used to encode the information.

The colour of the barcode 28 is another important attribute. Indeed,varying the colour can increase the amount of information represented(e.g. for 3D barcodes) or improve the decoding of the barcode and thusthe success rate of the scanning process.

Another attribute to take into consideration is barcode quality, whichincludes the quality of printing/display of the barcode and the qualityof the surface on which the barcode is printed/displayed. The better thequality of both, the easier it will be for the scanner 52 tosuccessfully read and decode the barcode 28. In reference to the mediaon which the barcode is to be displayed, surface reflectivity andtransparency are important factors to take into consideration in orderto improve readability of the barcode by the scanning device. Indeed, asurface that is too shiny may reflect so much light that atnear-perpendicular angles, the scanner may be overloaded, while at largescan angles, the mirror-like reflection may send little light back tothe scanner. In contrast, a dull or matte surface provides a diffuse orbroad pattern. Also, if the media is too transparent, the underlyingsurface affects the reflectivity. When contact devices are used, thedurability of the media, or how many times the barcode reader can bemoved across the surface without degrading its reflectivity, should alsobe evaluated.

Based on the above factors, the performance of the barcode symbology canbe evaluated using measures such as the first pass read rate (FRR) andthe second pass read rate (SRR). The FRR is the ratio of the number oftimes in which a good read occurs on the first try, divided by thenumber of attempts. The SRR is the ratio of the number of times in whicha good read occurs in two or fewer tries, divided by the number ofattempts. Barcodes of good quality should achieve at least an 85% FRRand at least a 99% SRR.

Illustratively, and referring back to FIG. 3 in addition to FIGS. 4 and5, an optimised output of media objects 28 of the barcode category isdetermined through experimental analysis similarly as with objects 28 ofother types. In particular, an extensive variety of mobile devices 16and scanners 52 is tested in order to ensure that the barcode image thatwill be optimised by the server 12 will comply with readabilitystandards mentioned herein above and will thus be read and decodedproperly by the barcode scanner 52 when rendered on the mobile device16. Indeed, as the type of scanner 52 used has an impact on theperformance of the scanning process, a plurality of scanners 52 needgenerally to be tested in order to assess the impact of various mobileand scanning device attributes (e.g. display size and type, scanningdevice configuration and model) on the readability of the barcode imagedisplayed. It may be further possible to identify which barcode imagesare best suited for display on a specific mobile device as in 16 and forreading and decoding by a specific scanning device 52. For this purpose,a plurality of barcode images having different attributes (e.g. barcodesizes and generating schemes) are delivered and rendered on the mobiledevices 16 and the optimised barcode image attributes, which result inan optimised output (i.e. the optimal readability) are identified. Theresults of this analysis are parameterised, cross referenced to the typeof scanner 52 and mobile device 16 and stored in the database 14 forsubsequent use by the optimising function (reference 32 in FIG. 2) inoptimising the barcode image for a given scanner 52/mobile device16/application combination, thus allowing for a maximized readabilityrange and decoding success rate.

Illustratively, the environment of the scanner 52 within a particularapplication is also analysed in order to identify which environmentalparameters (such as ambient light and the like) affect the reliabilityof the scanning process and how. These simulations can be performed in alaboratory environment or alternatively in the environment where thesystem will be used (e.g. a supermarket or other retail environment).

Analysis within a laboratory environment provides for improved controlover the environmental criteria and therefore parameters such as theambient light, the degree of dirt on the scanner and mobile devicescreens, the scanning angles, and the distance between the mobile andscanning devices can be freely adjusted. In the environment where theapplication will be deployed, analysis is performed to evaluate thereliability of the barcode. System ergonomics (i.e. interaction betweenthe user, the mobile device, and the scanning device) may also beanalysed with human subjects and the efficiency of the barcodegeneration and scanning process is evaluated. Based on the results ofthe above analysis, barcode attributes that need to be adjusted togenerate a barcode image that is optimised for a particular scanner52/mobile device 16 can be identified. Such attributes can comprise theoptimal cell size and colours of the barcode and are identified throughstatistical analysis and interpolation methods.

Still referring to FIGS. 4 and 5, where the media object 28 is a barcodeimage, it may be desirable for the optimisation function 32 of theserver 12 to not only optimise the object but also generate the barcodeimage prior to optimisation. For this purpose, the server 12 encodesdata for transmission to a given mobile device 16 in barcode format byfirst determining the scanner 52 being used for the particularapplication as well as the type of mobile device 16 being used todisplay the barcode image 28. Additionally, the data to be encoded mayillustratively be provided by the barcode application 56, but in a givenimplementation may also be transmitted directly from the mobile device16 to the server 12 for processing. In this case, as the data to beencoded into a barcode image may or may not have been stored on themobile device 16, the data may typically be encrypted to ensure securityof data transfer. In order to generate a barcode representative of thedata to be transmitted, the server 12 may use a generating scheme, whichwill maximize the reliability of the scanning process for the receivingmobile device 16 and the barcode reader 52 used in the currentapplication, as identified in the database 14 from the experimentalanalysis described hereinabove. For example, if the scanner 52 that willbe used to read the barcode image only supports 1D barcodes and thebarcode will be displayed on the mobile device 16 in a retailapplication, the optimising function 32 will retrieve the 1D barcodescheme best suited for use in retail environments, in this case the UPCcode, and encode the data using this scheme from the database 14.

Similarly to objects 28 of other categories, upon retrieving specificinformation related to the attributes of the receiving mobile device 16,the scanner 52 and application from the database 14, the server 12optimises the barcode object 28 for reliable reading and decoding by thescanner 52 from the display 18 of the mobile device 16. Indeed, as isthe case for other types of objects as in 28 delivered to the mobiledevice 16, knowledge of the retrieved information will enable theoptimising function 32 to deliver a barcode image 28, which produces anoptimised output on the selected receiving mobile device 16, thusimproving the chances of adequate reading of the displayed barcode bythe scanning device 52. Information related to the scanner 52 and theapplication stored in the database 14 illustratively includes model andconfiguration of the scanner 52, types of barcodes supported, averagedistance between the mobile device screen and the barcode reader, andambient lighting conditions.

In an alternative illustrative embodiment of the present invention,instead of an a priori analysis being carried out on a variety of mobiledevices, scanners and/or scanning environments, the mobile device 16could provide all or a portion of the information necessary for correctoptimisation of the barcode image to the barcode server 12. As a result,the database 14 would either prove to be no longer necessary oralternatively would contain only a portion of the data otherwiserequired to optimise the barcode image.

Illustratively, the optimisation algorithm within the optimisingfunction 32 optimises the barcode by varying the barcode attributes thatwill conform to the optimised output determined in the testing phasedescribed herein above, thus ensuring a maximized scanning reliabilityand success rate when the barcode image 28 is displayed on the receivingmobile device 16, as again identified in the database 14 from theexperimental analysis. For this purpose, according to the technicalcharacteristics of the mobile device 16 and the properties of theapplication, the algorithm modifies different barcode attributes such ascolours and shades, contrast, cell size (changing the number of pixelsthat represent a single cell), and length and spacing of bars. Forexample, if the device on which the barcode image 28 will be presentedhas a 2 inch, 262 k colour, 240×320 pixels display and the testingresults stored in the database for this device model show that an idealbarcode presented on this display should have a cell size x with bars oflength y and spacing z, the barcode image 28 is adjusted accordingly tothe sizes x, y, and z. In another embodiment of the invention, an errorcorrection algorithm may be implemented by the optimising function 32 ontop of the bar code optimisation mechanism in order to maximize thestrength of the code. In this case, the error correction algorithm takesadditional parameters such as the amount of data to be encoded, thecoding rate and the size of the pixels into account to detect, localizeand correct errors.

In a further embodiment of the invention the bar code image is animatedto facilitate its detection by the scanner 52. For this purpose, thesize of the barcode image 28 varies progressively with time, eithershrinking or stretching. Again, the rate of variation, i.e. the speed atwhich the barcode image is shrunk or stretched, is determined throughprevious experimentation and depends on the model of the scanner 52 andmobile device 16. Depending on the capabilities of the mobile device 16,the barcode image 28 can also be moved from left to right and top tobottom as well as rotated in order to assist the scanner 52. In thisembodiment, the optimising function 32 can generate an animated imageinstead of a still image and a video file that will be furthertransmitted to the mobile device 16.

In still another embodiment of the present invention, if theoptimisation algorithm within the optimising function 32 determines thatthe device 16 is unsuitable for displaying all of the data which wouldotherwise need to be encoded into the barcode image 28 (for example, dueto a limited size of the display 18 of the mobile device 16 or thelike), the optimising function 32 can decide to either, for example,limit the amount of information which is encoded into the generatedbarcode image 28 or supply the mobile device 12 with a series of barcodeimages which can be displayed and scanned by the barcode scanner 52individually. In the former implementation the user of the mobile device16 could be subsequently requested by the suitably equipped barcodescanner 52 to enter the missing data (for example, via a display andkeypad, not shown, attached to the barcode scanner 52).

In another embodiment of the present invention, the optimising function32 could send additional information or commands to the mobile display18 in order to optimise the display of the barcode image 28 on themobile device 16. This additional information or commands could include,for example, a command to adjust the contrast of the display, to turn onbacklighting or to maintain the backlighting illuminated for a givenperiod of time.

Still referring to FIGS. 4 and 5 in addition to FIG. 1, after the objectattributes are optimised and the final object 28 (barcode image orother) is established, a file that is compatible with thecharacteristics of the receiving mobile device 16 is generated by themessage builder 34 for delivery to the mobile device 16. For example, ifa still image is transmitted to a mobile device as in 16, which supportsjpeg files only as identified in the database 14, the message builder 34generates a jpeg file representing the object 28. The file correspondingto the generated object 28 is then transmitted to the receiving mobiledevice 16 in the most efficient manner using standardized transportationprotocols regardless of the object type (i.e. barcode image or other).

Still referring to FIG. 1, in order to transmit the object 28, themessage builder 34 illustratively checks the database 14, whichillustratively includes information as to the access protocol supportedby the mobile device 16. Illustratively, the object 28 is transmittedvia the communication module 30 to the device's MAGI 36 in the mostefficient manner using the Short Message Service (SMS), MultimediaMessaging Service (MMS) or Wireless Application Protocol (WAP) pushprotocols, depending on the object, the application and on thecharacteristics of the mobile device 16. For example, if the mobiledevice 16 supports MMS only, the protocol used to transmit the messagewill be MMS. As known in the art, MMS is a standard for a telephonymessaging systems that allow sending messages that includes multimediaobjects (images, audio, video, rich text) and not just text messages asin SMS. Also as known in the art, Wireless application protocol (WAP) isan application environment and set of communication protocols for mobilecommunication devices designed to enable manufacturer-, vendor-, andtechnology-independent access to the Internet and advanced telephonyservices. WAP Push is an evolution of WAP, which is a specially encodedmessage including a link to a WAP address that allows WAP content to bepushed to the mobile device. Near Field Communication (NFC), ashort-range high frequency wireless communication technology, whichenables the exchange of data between devices over about a decimetredistance, could also illustratively be used. In this case, the object 28could be transmitted to the mobile device 16 using the Bluetoothcommunications protocol for example. In an illustrative embodiment ofthe present invention, the network and transmission methods aretherefore selected to be optimal depending on the phone number of themobile device 16 and on the type of message protocol supported.

Still referring to FIG. 1, once the object 28 is transmitted to andreceived by the mobile device 16, it is rendered on the device's output(i.e. the screen 18 and/or the speakers 20). Since the object 28 isspecifically optimised for the user's mobile device 16 not only toovercome the technical limitations but to advantageously provide theuser with an optimal experience, it is rendered on the mobile device 16and perceived by the user with the most favourable quality. As mentionedherein above, in the event where the delivered object 28 is a barcodeimage, it is typically scanned by the barcode scanner 52. In this case,since the barcode image 28 is optimised, the scanner 52 scans anddecodes it reliably and the encoded information can therefore beretrieved efficiently and accurately for redemption of the barcode. Asdiscussed above, depending on the application, this information can beused to purchase an item such as a plane ticket or grocery item or ordera service such as the debit of a prepaid account after authentication ofthe user through the barcode presented.

Referring back to FIG. 3 in addition to FIG. 1, in an illustrativeembodiment of the present invention, the transaction may be initiated atstep 102 from a variety of entry points available to the user. Indeed,access to a retailer's website can be initiated not only from the mobiledevice 16 but also from a separate device (not shown) such as a terminallocated at the point of sale or a computer. In the latter case, the userfor example selects the object 28 to be purchased and is subsequentlyprompted to supply information related to the mobile device 16, inparticular the phone number associated therewith. Upon receiving thephone number, a transaction is initiated directly on the mobile device16 and an optimised object 28 is delivered to the latter, uponconfirmation by the user that the object 28 is indeed intended to besent to the mobile device 16.

In another illustrative embodiment of the present invention, thecustomer can access the website and select the object 28 to be purchaseddirectly from the mobile device 16. Alternatively, the customer may senda keyword or the like (seen in a television advertisement for example)by text message, illustratively in SMS, to a selected short code via themobile device 16 in order to purchase a desired object 28. In these lasttwo examples, the transaction is initiated on the customer's mobiledevice 16 directly and, the customer therefore need not be prompted forinformation related to the equipage of the mobile device 16 except for aconfirmation that the transaction is to be sent to the mobile device 16.It is therefore apparent that the present invention has the advantage ofnot requiring the customer to supply extensive information, for examplein the form of a device model number, carrier or the like.

Moreover, the present invention allows for combinations of objects as in28 of different categories to be delivered to the mobile device 16 for avariety of applications. Indeed, although it would be typical to deliverstandalone optimised objects 28 such as audio clips, videos or stillimages to the mobile device 16, the features of MMS (i.e. offeringmultipart messaging) could advantageously be used to delivercombinations of objects 28 from different categories. For example, itwould be possible to deliver a musical greeting card consisting of anoptimised still image combined with an optimised audio track instead ofdelivering standalone objects.

Although the present invention has been described hereinabove by way ofspecific embodiments thereof, it can be modified, without departing fromthe spirit and nature of the subject invention as defined in theappended claims.

We claim:
 1. A method for preparing and delivering a media object of acategory of media object for subsequent rendering on an output of areceiving one of a plurality of mobile devices, each of the mobiledevices of a different mobile device type and wherein an attribute ofrendering of the category of media object on the output of each of themobile devices is adjustable to one of a plurality of possible attributevalues, the method comprising: for each type of mobile device,predetermining an optimised value from the plurality of possibleattribute values; acquiring the mobile device type of the receivingmobile device; optimising the media object based on said acquired mobiledevice type and according to said predetermined optimised value;delivering said optimised media object to the receiving mobile device;and rendering said optimised media object on the receiving mobile deviceoutput.
 2. The method of claim 1, wherein said predetermining comprisesaccessing data records stored in a database, each of said data recordsassociated with a respective one of a representative mobile device ofeach of the different mobile device types, said data records comprisingrendering information for the media object of the category of mediaobject to be rendered on an output of the respective representativemobile device, the rendering information comprising a stored attributevalue such that the rendering of the media object on the output of therespective representative mobile device conforms to an optimisedrendering.
 3. The method of claim 1, wherein for the media object, theattribute of rendering is selected from the group consisting of a colourof said media object, a shade of said media object, a contrast betweencolours of said media object, an orientation of said media object, asignal amplitude of said media object, a signal frequency envelope ofsaid media object, a duration of said media object, and combinationsthereof.
 4. The method of claim 1, wherein delivering said optimisedmedia object comprises delivering said media object to said receivingmobile device via a wireless communication link using at least one of anSMS protocol, an MMS protocol, a WAP Push protocol, or a Near FieldCommunication protocol.
 5. The method of claim 1, wherein the mobiledevice output is selected from the group consisting of a display, aspeaker, and combinations thereof.
 6. The method of claim 5, wherein thecategory of the media object is selected from the group consisting of astill image category, an audio category, a video category, a barcodeimage category, and combinations thereof.
 7. The method of claim 6,wherein the media object is a barcode image of said barcode imagecategory, wherein said barcode image is to be rendered on said mobiledevice display for scanning with a barcode scanning device having abarcode scanning device type, further comprising acquiring said barcodescanning device type of said barcode scanning device and wherein saidbarcode image is optimized for rendering on said mobile device displaybased on said acquired mobile device type and said acquired barcodescanning device type of said barcode scanning device.
 8. The method ofclaim 7, wherein said predetermining comprises accessing data recordsstored in a database, each of said data records associated with arespective one of a representative mobile device of each of thedifferent mobile device types and a representative barcode scanningdevice of the barcode scanning device type, said data records comprisingrendering information for said barcode image to be rendered on a displayof the respective representative mobile device for scanning by therepresentative barcode scanning device, the rendering informationcomprising a stored attribute value such that the rendering of saidbarcode image on the display of the respective representative mobiledevice conforms to an optimised rendering for barcode scanning by therepresentative barcode scanning device.
 9. The method of claim 7,wherein said barcode scanning device type is selected based oninformation related to at least one of a scanning device model, a typeof barcode supported, a barcode scheme, an average distance between abarcode scanning device and a scanned mobile device, ambient lightingconditions, and combinations thereof.
 10. The method of claim 7, whereinthe attribute is selected from a group consisting of a size of cells ofsaid barcode image, a length of bars of said barcode image, a width ofbars of said barcode image, a spacing of bars of said barcode image, acolour of said barcode image, a shade of said barcode image, a contrastbetween colours of said barcode image, a level of error correction, andcombinations thereof, such that when said optimized barcode image isrendered on said mobile device display, said rendered barcode imageconforms to said determined optimised output of said barcode imagecategory.
 11. The method of claim 10, wherein optimising said barcodeimage further comprises animating said barcode image, wherein saidbarcode image moves, rotates, and gradually changes size as a functionof time.
 12. A system for preparing and delivering a media object havinga category of one of a plurality of categories of media objects forsubsequent rendering on an output of a receiving one of a plurality ofmobile devices, each of the mobile devices of one of a plurality ofmobile device types and wherein an attribute of rendering each categoryof media object on the output of each of the mobile devices isadjustable to one of a plurality of possible attribute values, thesystem comprising: a predetermined plurality of optimised values foreach of the categories of media objects, one of said optimised valuesassociated with each mobile device type; an optimisation module, saidmodule receiving the media object, retrieving one of said predeterminedoptimised values based on a mobile device type of the receiving mobiledevice and the category of media object and optimising the media objectbased on said retrieved predetermined optimised value; and a wirelesscommunication link connecting said plurality of mobile devices to saidoptimisation module for delivering said optimised media object to saidreceiving mobile device.
 13. The system of claim 12, wherein said outputis selected from the group comprising of a display, a speaker, andcombinations thereof.
 14. The system of claim 12, further comprising adatabase comprising a plurality of data records, each of said datarecords associated with a respective one of a representative mobiledevice of each of the different mobile device types, said data recordscomprising rendering information for the media object of the category ofmedia object to be rendered on an output of the respectiverepresentative mobile device, the rendering information comprising astored attribute value such that the rendering of the media object onthe output of the respective representative mobile device conforms to anoptimised value.
 15. The system of claim 14, wherein said optimizationmodule and said database are running on a server and the receivingmobile device further comprises a client for communicating with saidserver.
 16. The system of claim 12, wherein said wireless communicationlink uses at least one of an SMS protocol, MMS protocol, or WAP Pushprotocol.
 17. A method for preparing a barcode image from a data set forsubsequent delivery to a receiving one of a plurality of different typesof mobile devices for scanning with a scanning one of at least one typeof barcode scanning device, the mobile devices each comprising a displayfor displaying the barcode image and the at least one barcode scanningdevice comprising a barcode scanner for reading the image, wherein anattribute of displaying the barcode image on a given one of the devicesis adjustable to one of a plurality of possible attribute values, themethod comprising: for each type of mobile device, predetermining anoptimised value of the barcode image from the plurality of possibleattribute values when the barcode image is displayed on the display ofthe type of mobile device; acquiring the mobile device type of thereceiving mobile device and a barcode scanning device type of thebarcode scanning one of the at least one barcode scanning device;optimising the barcode image based on said acquired mobile device typeand said barcode scanning device type according to said predeterminedoptimised value of the barcode image; delivering said optimised barcodeimage to the receiving mobile device; and displaying said optimisedbarcode image on the display of the receiving device.
 18. The method ofclaim 17, wherein said predetermining comprises accessing data recordsstored in a database, each of said data records associated with arespective one of a representative mobile device of each of thedifferent mobile device types and a respective one of a representativebarcode scanning device of each of the different barcode scanning devicetypes, said data records comprising rendering information for thebarcode image to be rendered on a display of the respectiverepresentative mobile device for barcode scanning by the respectiverepresentative barcode scanning device, the rendering informationcomprising a stored attribute value such that the rendering of the imageon the display of the respective representative mobile device conformsto an optimised rendering for barcode scanning by the respectiverepresentative barcode scanning device.
 19. The method of claim 17,wherein said barcode scanning device type is selected from a groupconsisting of information related to at least one of a scanning devicemodel, a type of barcodes supported, a barcode scheme, an averagedistance between a scanning device and a scanned mobile device, ambientlighting conditions, and combinations thereof.
 20. The method of claim17, wherein the attribute is selected from a group consisting of a sizeof cells of the barcode image, a length of bars of the barcode image, awidth of bars of the barcode image, a spacing of bars of the barcodeimage, a colour of the barcode image, a shade of the barcode image, acontrast between colours of the barcode image, a level of errorcorrection, and combinations thereof.
 21. The method of claim 17,wherein optimising the barcode image further comprises animating thebarcode image, wherein the barcode image moves, rotates, and graduallychanges size as a function of time.